1. Field of the Invention
This invention relates generally to techniques for performing data transfer operations, and relates more particularly to a system and method for effectively performing isochronous data transfers.
2. Description of the Background Art
Implementing effective methods for transferring data between electronic devices is a significant consideration for designers and manufacturers of contemporary electronic devices. An electronic device in an electronic network may advantageously communicate with other electronic devices in the network to share data to thereby substantially increase the capabilities and versatility of individual devices in the electronic network. For example, an electronic network may be implemented in a home environment to enable flexible and beneficial sharing of data and device resources between various consumer electronic devices, such as personal computers, digital video disc (DVD) devices, digital set-top boxes for digital broadcasting, enhanced television sets, and audio reproduction systems.
Effectively managing data transfer operations in a network of electronic devices may create substantial challenges for designers of electronic networks. For example, enhanced demands for increased device functionality and performance during data transfer operations may require more system processing power and require additional hardware resources across the network. An increase in processing or hardware requirements may also result in a corresponding detrimental economic impact due to increased production costs and operational inefficiencies.
Network size is also a factor that affects the management of data transfer operations in an electronic network. Communications in an electronic network typically become more complex as the number of individual devices or nodes increases. Assume that a particular device on an electronic network is defined as a local device with local software elements, and other devices on the electronic network are defined as remote devices with remote software elements. Accordingly, a local software module on the local device may need to transfer data to and from various remote devices across the electronic network. However, successfully managing a substantial number of electronic devices across a single network may provide significant benefits to a system user.
Furthermore, enhanced device capability to perform various advanced memory transfer operations may provide additional benefits to a system user, but may also place increased demands on the control and management of the various devices in the electronic network. For example, an enhanced electronic network that effectively accesses, processes, and displays digital television programming may benefit from efficient network communication techniques because of the large amount and complexity of the digital data involved.
One type of data transfer that may occur in an electronic network is an isochronous data transfer. Isochronous data transfers include the guaranteed handling of data that arrives in a time-based stream at regular intervals called cycles. Isochronous data transfers are typically used for time-sensitive applications. For example, video or audio data being transmitted across a network typically needs to arrive at a display device in an uninterrupted flow with appropriate timing.
Due to growing demands on system resources and substantially increasing data magnitudes, it is apparent that developing new and effective methods for transferring data is a matter of significant concern for the related electronic technologies. Therefore, for all the foregoing reasons, implementing effective methods for transferring data between electronic devices remains a significant consideration for designers, manufacturers, and users of contemporary electronic devices.
In accordance with the present invention, a system and method are disclosed for effectively performing isochronous data transfers. In one embodiment, the invention preferably comprises a computer device that includes a network interface that is preferably coupled to both an input/output (I/O) bus and a network bus to serve as an interface for transferring isochronous data and asynchronous data between the computer device and an electronic network.
In addition, at least one input/output (I/O) node is also coupled to the I/O bus. In certain embodiments, the I/O bus may only be accessed by a single given I/O device (such as the network interface or the I/O node) at any particular time to transfer information between a device memory and the given I/O device. Therefore, in order to gain control of the I/O bus for a data transfer operation, the network interface or the I/O node may request control of the I/O bus from an arbiter in an I/O bus bridge within the computer device. In accordance with an arbitration algorithm, the arbiter may then responsively grant control of the I/O bus to the appropriate requesting I/O device.
In one embodiment, the I/O node may transmit a Request A In to an arbiter filter. The arbiter filter responsively filters the Request A In and then propagates a corresponding Request A Out to the arbiter. The I/O node preferably utilizes the Request A In to request control of the I/O bus for a non-isochronous data transfer. Similarly, a network interface may transmit a Request B In to the arbiter filter. The arbiter filter responsively filters the Request B In, and then propagates a Request B Out to the arbiter. The network interface preferably utilizes the Request B In to request control of the I/O bus for a non-isochronous data transfer.
In accordance with the present invention, the network interface (or any other isochronous-capable I/O device) may also advantageously transmit an isochronous transfer request (iso request) to arbiter filter. The network interface advantageously utilizes the iso request and the arbiter filter to establish priority over the Request A In and/or the Request B In when seeking access to the I/O bus for performing a time-sensitive isochronous data transfer.
In accordance with the present invention, the operation of the arbiter filter and the iso request are transparent to the arbiter and the I/O node. In addition, the arbiter filter may readily be added to the circuitry of the computer device with no changes, or only minimal changes to the basic system design. In certain embodiments, standard components and devices may therefore be utilized to economically and effectively implement the computer device. The present invention thus efficiently implements a system and method for effectively performing isochronous data transfers.